概述
SView for Windos Control为OCX控件提供三维模型基本的浏览、模型属性操作、基本三维对象操作、动画播放等功能的实现接口,可实现基本的 三维模型展示功能,以便于用户个性化定制属于自己的产品。文档主要介绍了OCX控件提供的接口说明。SView for Windows Control控件集成说明的介绍请查看SView for Windows Control 集成说明文档。
接口列表
打开
打开本地文件
方法
void OpenFile(BSTR filePath)
说明
打开本地文件
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| filePath | 是 | 本地文件路径。 |
返回值
void
备注
D:\\1.svl 打开D盘下的1.svl文件
打开URL文件
方法
void OpenUrl(BSTR urlPath)
说明
打开URL文件
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| urlPath | 是 | 远端文件路径,多个文件用;;分割。 |
返回值
void
备注
多个Url路径需要用;;来分割开例如http://192.168.75.1:8080/svlfiles/1.svl;;http://
192.168.75.1:8080/svlfiles/2.svl;;http://192.168.75.1:8080/svlfiles/3.svl
打开属性文件
属性
Src
说明
设置Src的值为模型路径打开模型文件
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| value | 是 | 为url路径,多个Url路径需要用;;来分割开。 |
返回值
void
备注
多个Url路径需要用;;来分割开例如http://192.168.75.1:8080/svlfiles/1.svl;;http://
192.168.75.1:8080/svlfiles/2.svl;;http://192.168.75.1:8080/svlfiles/3.svl
显示配置
方法配置参数
方法
void SetConfig(BSTR configJson)
说明
直接调用方法,传递JSON格式数据,配置各项参数,JSON文件格式
{
"Common": [
{
"IsConRotate": "False",
"ShowMode": "3"
}
],
"Render": [
{
"IsSimplityMode": "False",
"DrawDataBufferType": "1",
"RemoveSize": "5",
"MeasureUnit": "0",
"IsShowPMI": "True",
"MsaaNum": "2",
"GLES": "2",
"BackgroundImagePath": ""
}
],
"Layout": [
{
"MainMenu": "False",
"AssemblyTree": "True",
"ModelView": "True",
"ToolBar": "True"
}
]
}
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| IsConRotate | 是 | 值:True/False:持续/不持续旋转(设置模型是否持续旋转,默认值为False) |
| IsSimplityMode | 是 | 值:True/False:使用/不使用高性能 (设置是否使用高性能模式,默认值为False) |
| DrawDataBufferType | 是 | 值: 0内存优先,1显存优先,2磁盘优先(设置存储模式,默认值为1) |
| MeasureUnit | 是 | 值: 0无,1毫米,2厘米,3米,4英寸,5英尺(设置测量功能测量单位,默认值为0) |
| IsUseLOD | 是 | 值:True/False:使用/不使用LOD(设置渲染模式,默认值为False) |
| RemoveMode | 是 | 值: 0模型,1屏幕(设置小件剔除模式,以屏幕来剔除或以模型来剔除,默认值为1) |
| IsMergeFace | 是 | 值: True/False:合并/不合并面(设置模型是否合并面,默认值为Fasle) |
| RemoveSize | 是 | 值: 0~50之间int整数(设置小件剔除百分比,默认值为0) |
| IsReadEdgeFlag | 是 | 值:True/False:使用/不使用边界线(设置是否显示模型的边界线,默认值为True) |
| MsaaNum | 是 | 值: 0关闭,1表示X2倍,2表示X4倍,3表示X8倍(设置多重采样抗锯齿倍率,默认值为2) |
| RemoveSize | 是 | 值: 0~50之间int整数 |
| IsShowPMI | 是 | 值:True/False:显示/不显示PMI(设置模型是否显示批注、测量等信息,默认值为True) |
| ShowMode | 是 | 值: 0无,1显示装配树,2显示视图(设置模型显示装配树、视图,默认值为0) |
| GLES | 是 | 值: 1表示ES1,2表示ES2(设置GLES模式,默认值为1 |
返回值
void
备注
无
属性配置参数
属性
Configure
说明
设置属性Configure的值为JSON格式数据,配置各项参数,数据格式为:
<param name="Configure" value='{"Common": [{"IsConRotate": "False","ShowMode": "3"}],"Render": [{"IsSimplityMode":"True","DrawDataBufferType":"1", "RemoveSize": "5","MeasureUnit": "0","IsShowPMI": "True","MsaaNum": "2","GLES": "2",BackgroundImagePath": ""}]"Layout": [{"MainMenu": "False","AssemblyTree": "True","ModelView": "True","ToolBar": "True"}]}'>
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| value | 是 | 为JSON格式数据,配置属性参数 |
返回值
void
备注
无
布局配置
方法
void SetConfig(BSTR configJson)
说明
外部通过JSON文件配置,JSON文件格式:
{
"Layout": [
{
"MainMenu": "False",
"AssemblyTree": "True",
"ModelView": "True",
"ToolBar": "True"
}
]
}
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| AssemblyTree | 是 | 值: True/False:显示/隐藏装配树面板(设置装配树面板的显隐,默认值为True |
| ModelView | 是 | 值:True/False:显示/隐藏视图面板(设置装视图面板的显隐,默认值为True) |
| MainMenu | 是 | 值: True/False:显示/隐藏主工具栏(设置工具栏的显隐,默认值为True) |
| ToolBar | 是 | 值:True/False:显示/隐藏主命令工具栏(设置命令工具栏的显隐,默认值为True) |
返回值
void
备注
无
布局配置
复位
方法
void RestoreView()
说明
置模型恢复到初始化状态
参数
无
返回值
void
备注
无
拾取
方法
void SetModelSelected(BSTR svlPath, VARIANT_BOOL selected)
说明
设置模型的选中/取消选中
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| svlPath | 是 | 模型唯一标识(见备注) |
| selected | 是 | True/False:拾取/不拾取 |
返回值
void
备注
svlPath 示例"PATH|0|3|2|3" 如果有多个需要用";"分隔开例如:"PATH|0|3|2|3;PATH|0|17|6;PATH|0|2"
选择复位
方法
RestoreSelectedModle(BSTR svlPath)
说明
设置模型回到原始位置
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| svlPath | 是 | 模型唯一标识 示例"PATH|0|3|2|3" |
返回值
void
备注
svlPath 示例"PATH|0|3|2|3" 如果有多个需要用";"分隔开例如:"PATH|0|3|2|3;PATH|0|17|6;PATH|0|2"
聚焦显示
方法
void FocusModel(BSTR svlPath)
说明
设置模型聚焦显示
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| svlPath | 是 | 模型唯一标识 示例"PATH|0|3|2|3" |
返回值
void
备注
svlPath 示例"PATH|0|3|2|3" 如果有多个需要用";"分隔开例如:"PATH|0|3|2|3;PATH|0|17|6;PATH|0|2"
保存截图
方法
void TakeScreenPicture(BSTR savePath)
说明
保存模型展示截图
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| savePath | 是 | 截图保存的路径 |
返回值
void
备注
无
模型属性
显示、隐藏
方法
void SetModelVisible(BSTR svlPath, VARIANT_BOOL visible)
说明
设置模型的显示或隐藏
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| svlPath | 是 | 模型唯一标识 |
| visible | 是 | True/False:显示/隐藏 |
返回值
void
备注
svlPath 示例"PATH|0|3|2|3" 如果有多个需要用";"分隔开,例如:"PATH|0|3|2|3;PATH|0|17|6;PATH|0|2"
颜色
方法
void SetModelColor(BSTR svlPath, BSTR colorStr)
说明
设置模型颜色
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| svlPath | 是 | 模型唯一标识 |
| colorStr | 是 | 十六进制颜色字符串颜色,示例"0x0000ff" |
返回值
void
备注
svlPath 示例"PATH|0|3|2|3" 如果有多个需要用";"分隔开,例如:"PATH|0|3|2|3;PATH|0|17|6;PATH|0|2"
视图浏览
方法
void SetPerspective(int viewType)
说明
基本视图浏览:前视图、俯视图、仰视图、左视图、右视图、后视图、轴测图,设置不同方位展示模型
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| viewType | 是 | 0前视图 1后视图 2右视图 3左视图 4仰视图 5俯视图 6轴视图 |
返回值
void
备注
无
渲染模式
方法
void SetDrawMode(int renderMode)
说明
着色模式、边着色模式、线框模式、半透明模式、显示包围盒、显示网格
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| renderMode | 是 | 0着色模式、1半透明模式、3线框模式、4边着色模式、5显示网格、6取消半透明模式、7显示/取消显示包围盒 |
返回值
void
备注
无
操作配置
多选
方法
void SetMultiSelect(bool isMultiSelect)
说明
设置模型是否多选
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| isMultiSelect | 是 | True/False:使用/不使用多选 |
返回值
void
备注
无
指定旋转
方法
void SetDesignatedRotation(bool isDesignatedRotation)
说明
设置模型是否指定旋转
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| isDesignatedRotation | 是 | True/False:使用/不使用指定旋转 |
返回值
void
备注
无
显示属性
方法
void ShowPorperty(bool showPorperty)
说明
设置模型属性列表显示隐藏
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| showPorperty | 是 | True/False:显示/隐藏属性列表 |
返回值
void
备注
无
剖切
剖切
方法
void SetClipPlane(SHORT direction, FLOAT position, VARIANT_BOOL isShowClipPlane,VARIANT_BOOL,isShowCutPlane)
说明
基于坐标平面创建剖面,可调节剖切深度,展示剖切面内容
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| direction | 是 | 方向 1:X;2:Y;3:Z; -1:-X;-2:-Y;-3:-Z; |
| position | 是 | 位置 0~100表示剖切百分比 |
| isShowClipPlane | 是 | 是否显示示意面 |
| isShowCutPlane | 是 | 是否显示盖面 |
返回值
void
备注
无
关闭剖切
方法
void CloseClipPlane()
说明
关闭模型的剖切展示
参数
无
返回值
void
备注
无
爆炸图
爆炸图
方法
void SetExplosiveView(int type, int pos)
说明
展示模型爆炸效果
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| type | 是 | 爆炸类型;0-远离中心点爆炸;1-左右爆炸;2-上下爆炸 |
| pos | 是 | 爆炸间距0-100 |
返回值
void
备注
无
关闭爆炸图
方法
void CloseExplosive()
说明
关闭模型的爆炸展示
参数
无
返回值
void
备注
无
动画
开始
方法
void AnimationPlay()
说明
开始播放模型的动画文件或者播放暂停的动画文件
参数
无
返回值
void
备注
无
暂停
方法
void AnimationPause()
说明
暂停模型动画文件的播放
参数
无
返回值
void
备注
无
继续
方法
void AnimationContinue()
说明
继续播放模型的动画文件
参数
无
返回值
void
备注
无
是否重复播放
方法
bool AnimationLoop(bool loop)
说明
设置模型动画文件的重复播放
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| loop | 是 | true,循环播放;false 不循环 |
返回值
bool
备注
无
设置速度
方法
void AnimationSetSpeed(float speed)
说明
设置动画播放速度
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| speed | 是 | 1-10倍速播放 |
返回值
void
备注
无
播放指定段
方法
void AnimationPlayRange(int startId, int endId)
说明
设置动画播放速度
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| startId | 是 | 开始id |
| endId | 是 | 结束id |
返回值
void
备注
无
打开动画文件
方法
void AnimationOpenFile(String animationFilePath)
说明
打开模型动画文件
参数
| 参数 | 是否必须 | 说明 |
|---|---|---|
| animationFilePath | 是 | 动画文件路径 |
返回值
void
备注
无
关闭动画
方法
void AnimationClose()
说明
关闭动画播放
参数
无
返回值
void
备注
无